home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 60.zip / BS1 part 60 / Kick Pascal v2.10 d2.adf / SYSPROG / IntMsgDemo3.p < prev    next >
Text File  |  1990-11-01  |  2KB  |  58 lines

  1. Program IntMsgDemo3; { dritte Version }
  2.  
  3. {$incl 'intuition.lib' }
  4.  
  5. Const
  6.  Rahmenbreite=2;
  7.  Balkenhoehe=12;
  8.  
  9. Var
  10.  Win: ^Window;
  11.  Msg: ^IntuiMessage;
  12.  Ende: Boolean;
  13.  Signale: Long;
  14.  
  15. Procedure Star(x, y, farb: integer);
  16.   Var IText: IntuiText;
  17.   Begin
  18.     IText:=IntuiText(farb, 0, 0, -4, -4, Nil, '*', Nil);
  19.     PrintIText(Win^.RPort, ^Itext, x-Rahmenbreite, y-Balkenhoehe)
  20.   End;
  21.  
  22. Begin
  23.   Win:=Open_Window(20,10, 200,80, 1, _CLOSEWINDOW or MOUSEBUTTONS,
  24.                    ACTIVATE or WINDOWCLOSE or WINDOWDEPTH
  25.                     or WINDOWDRAG or RMBTRAP or GIMMEZEROZERO,
  26.                    'Klick mich!', Nil, 100, 20, 640, 256);
  27.   Ende:= false;
  28.   OpenLib(IntBase, 'intuition.library', 0);   { ist nötig, weil die
  29.                       Intuition-Funktion "PrintIText" benutzt wird. }
  30.   Repeat
  31.  
  32.     { auf Nachricht warten: }
  33.     Repeat
  34.       Msg:= Get_Msg(Win^.UserPort);
  35.       If Msg=Nil Then
  36.         Signale:=Wait(-1)
  37.     Until Msg<>Nil;
  38.  
  39.     Case Msg^.Class Of
  40.      _CLOSEWINDOW: Ende:=true;
  41.      MOUSEBUTTONS: If (Msg^.Code and $80)=0 Then
  42.                      Begin
  43.                        If (Msg^.Code and $01)=0 Then
  44.                          Star(Msg^.MouseX, Msg^.MouseY,3) { links }
  45.                        Else
  46.                          Star(Msg^.MouseX, Msg^.MouseY,1) { rechts }
  47.                      End
  48.     Otherwise
  49.       { unbekannte Message empfangen }
  50.     End;
  51.  
  52.     Reply_Msg(Msg);   { Nachricht als ausgewertet kennzeichnen }
  53.  
  54.   Until Ende;
  55.   Close_Window(Win);
  56.   CloseLib(IntBase);  { eigentlich überflüssig }
  57. End.
  58.